library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(ggpubr)
library(gghalves)
library(ggrepel)
data<- readRDS("/Users/xu/Desktop/1_project/ErlCART_Xenium_ResScore_250402184029.rds")
obj <- data
ordercolors<- c("#84c3b7","#b8aeeb","#f57c6e","#f8bb6e","#88d8db","#f2a7da","#add187","#8481ba","#e74434","#f8c7b4","#71b7ed", "#cedfef","#1864aa","#ee7e18","#4a94c6","#fae69e")
selected_columns <- c( "merged_annotation" ,"CARTacute" ,"CARTsustained")
metadata_df <- data@meta.data[, selected_columns] %>% as.data.frame()
p <- ggplot(data = metadata_df,
aes(x=merged_annotation, y=CARTacute, fill=merged_annotation)) +
geom_half_violin(side = "r", color=NA, alpha=0.4) +
geom_half_boxplot(side = "r", errorbar.draw = FALSE, width=0.2, linewidth=0.8) +
geom_half_point_panel(side = "l", shape=21, size=3, color="white") +
scale_fill_manual(values = ordercolors,name = "Major Celltype") +
labs(y=NULL,x=NULL,title = "Acute CAR-T response") +
rotate_x_text(angle = 45)+
geom_hline(yintercept = mean(metadata_df$`CARTacute`), linetype=2)+
theme(plot.title = element_text(hjust = 0.5,size = 16, face = "bold"),
legend.position = "none",
panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.text=element_text(size=14,color="black",face="bold",family = "Arial"),
axis.title.y = element_text(color="black", size=14, face="bold"),
axis.line = element_line(size=0.8, colour = "black"))
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
p

ggsave("Acute CAR-T response.pdf", plot = p, width = 12, height =5, units = "in", device = cairo_pdf)
ggsave(
filename = "Acute CAR-T response.png",
plot = p,
width = 12,
height = 8,
dpi = 600
)
p1 <- ggplot(data = metadata_df,
aes(x=merged_annotation, y=CARTsustained, fill=merged_annotation)) +
geom_half_violin(side = "r", color=NA, alpha=0.4) +
geom_half_boxplot(side = "r", errorbar.draw = FALSE, width=0.2, linewidth=0.8) +
geom_half_point_panel(side = "l", shape=21, size=3, color="white") +
scale_fill_manual(values = ordercolors,name = "Major Celltype") +
labs(y=NULL,x=NULL,title = "Sustained CAR-T response") +
rotate_x_text(angle = 45)+
geom_hline(yintercept = mean(metadata_df$`CARTsustained`), linetype=2)+
theme(plot.title = element_text(hjust = 0.5,size = 16, face = "bold"),
legend.position = "bottom",
panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.text=element_text(size=12,color="black"),
axis.title.y = element_text(color="black", size=14, face="bold"),
axis.line = element_line(size=0.8, colour = "black"))
p1

#ggsave("Sustained CAR-T response.pdf", plot = p1, width = 12, height =5, units = "in", device = cairo_pdf)
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
library(viridis)
## Loading required package: viridisLite
library(spatialEco)
##
## Attaching package: 'spatialEco'
## The following object is masked from 'package:dplyr':
##
## combine
library(sf)
## Linking to GEOS 3.13.0, GDAL 3.8.5, PROJ 9.5.1; sf_use_s2() is TRUE
library(ggsci)
res_score <- data.frame(acute = obj$CARTacute, sample_id = obj$SampleId)
## Loading required package: SeuratObject
## Loading required package: sp
## 'SeuratObject' was built under R 4.4.0 but the current version is
## 4.4.2; it is recomended that you reinstall 'SeuratObject' as the ABI
## for R may have changed
## 'SeuratObject' was built with package 'Matrix' 1.7.0 but the current
## version is 1.7.2; it is recomended that you reinstall 'SeuratObject' as
## the ABI for 'Matrix' may have changed
##
## Attaching package: 'SeuratObject'
## The following objects are masked from 'package:base':
##
## intersect, t
coords <- do.call(rbind, lapply(Images(obj), function(i)GetTissueCoordinates(obj, i)))
coords <- coords[match(colnames(obj), coords$cell),] %>% column_to_rownames('cell')
res_score <- cbind(res_score, coords)
types <- unique(obj$merged_annotation)
cols <- pal_nejm()(length(types)) %>% setNames(types)
## Warning: This manual palette can handle a maximum of 8 values. You have
## supplied 10
for (i in unique(obj$SampleId)) {
cat('\n\n###', i, '\n\n')
scores <- res_score[res_score$sample_id == i, ]
scores <- sf::st_as_sf(scores, coords = c('x', 'y'))
acute <- sp.kde(scores,
y = scores$acute,
res = 8,
scale.factor = 1000)
acute <- as.data.frame(acute, xy = TRUE)
tmp <- obj[, obj$SampleId == i]
group <- obj@meta.data[obj$SampleId == i, 'fourgroups'][1]
pid <- obj@meta.data[obj$SampleId == i, 'Patient'][1]
polys <- tmp[[Images(tmp)[[1]]]][['segmentations']]@polygons %>% SpatialPolygons() %>% sf::st_as_sf()
breaks <- c(-3.5, -1, 0,1, 3.5)
colors <- c("#7cc042",
'#bcda8c40',
'#00000000',
"#cbb2d840","#8278b7")
labels <- c("-2","-1", "0", "1","2")
p1 <- ggplot() +
# Plot the spatial polygons (boundaries)
geom_sf(data = polys, fill = 'lightgrey', size = 0) + # Adjust color and size
# Plot the KDE (density estimation) with geom_tile
geom_tile(data = acute, aes(
x = x,
y = y,
fill = z
)) +
scale_fill_gradientn(
colors = colors,
values = scales::rescale_mid(breaks, mid = 0),
breaks = breaks,
labels = labels,
limits = c(-3.5, 3.5), oob = scales::squish) +
theme_minimal() +
theme(
axis.text = element_blank(),
# Remove axis text
axis.title = element_blank(),
# Remove axis titles
axis.ticks = element_blank(),
# Remove axis ticks
panel.grid = element_blank(),
# Remove grid lines
legend.position = "bottom") +
ggtitle(paste0(i, ' - ', group,' - acute CART'))
print(p1)
if (i == "SSc213") {
ggsave(paste0(i, "_acute_CART.png"), plot = p1, width = 8, height = 6, dpi = 600)
ggsave(p1,file=paste0(i, "_acute_CART.pdf"),width=8,height=6)
}
}
##
##
## ### SSc230
## Using 420.089, 363.345 for bandwidth
##
## calculating weighted kde
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc233
## Using 336.66, 407.075 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc248
## Using 265.956, 667.962 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc249
## Using 255.227, 346.971 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc240
## Using 487.066, 270.688 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc241
## Using 181.457, 545.999 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc239
## Using 344.668, 483.097 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc256
## Using 477.736, 386.439 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc246
## Using 432.492, 275.209 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc261
## Using 356.125, 346.625 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc250
## Using 463.067, 334.879 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc237
## Using 217.571, 376.223 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc234
## Using 334.794, 495.991 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc247
## Using 393.358, 224.681 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc244
## Using 219.189, 507.376 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc264
## Using 514.565, 431.666 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc253
## Using 379.712, 620.325 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc213
## Using 217.16, 245.65 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc225
## Using 204.448, 341.665 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### HAUCK
## Using 244.177, 243.817 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc224
## Using 147.33, 313.771 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects

##
##
## ### SSc214
## Using 166.57, 295.907 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects

##
##
## ### SSc223
## Using 257.219, 291.948 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects

obj$IsFib <- as.numeric(obj$fibroblast_subtype != 'other')
res_score <- data.frame( Fib = obj$IsFib, sample_id = obj$SampleId)
coords <- do.call(rbind, lapply(Images(obj), function(i)GetTissueCoordinates(obj, i)))
coords <- coords[match(colnames(obj), coords$cell),] %>% column_to_rownames('cell')
res_score <- cbind(res_score, coords)
types <- unique(obj$merged_annotation)
cols <- pal_nejm()(length(types)) %>% setNames(types)
## Warning: This manual palette can handle a maximum of 8 values. You have
## supplied 10
for (i in unique(obj$SampleId)) {
cat('\n\n###', i, '\n\n')
scores <- res_score[res_score$sample_id == i, ]
scores <- sf::st_as_sf(scores, coords = c('x', 'y'))
fib <- sp.kde(
scores,
y = scores$Fib,
res = 8,
scale.factor = 1000
)
fib <- as.data.frame(fib, xy = TRUE)
tmp <- obj[, obj$SampleId == i]
group <- obj@meta.data[obj$SampleId == i, 'fourgroups'][1]
pid <- obj@meta.data[obj$SampleId == i, 'Patient'][1]
polys <- tmp[[Images(tmp)[[1]]]][['segmentations']]@polygons %>% SpatialPolygons() %>% sf::st_as_sf()
breaks <- c(-0.9, -0.5, 0, 0.5, 0.9)
colors <- c("#7cc042",
'#bcda8c40',
'#00000000',
"#cbb2d840","#8278b7")
p2 <- ggplot() +
# Plot the spatial polygons (boundaries)
geom_sf(data = polys, fill = 'grey80') + # Adjust color and size
# Plot the KDE (density estimation) with geom_tile
geom_tile(data = fib, aes(
x = x,
y = y,
fill = z
)) +
scale_fill_gradientn(
colors = colors,
values = scales::rescale_mid(breaks, mid = 0),
limits = c(-2.5, 2.5), oob = scales::squish) +
theme_minimal() +
theme(
axis.text = element_blank(),
# Remove axis text
axis.title = element_blank(),
# Remove axis titles
axis.ticks = element_blank(),
# Remove axis ticks
panel.grid = element_blank(),
# Remove grid lines
panel.border = element_blank(),
legend.position = "bottom") +
ggtitle(paste0(i, ' - ', group,' - fibroblast density'))
print(p2)
if (i == "SSc213") {
ggsave(paste0(i, "_fibroblast density.png"), plot = p2, width = 8, height = 6, dpi = 600)
ggsave(p2,file=paste0(i, "_fibroblast density.pdf"),width=8,height=6)
}
}
##
##
## ### SSc230
## Using 420.089, 363.345 for bandwidth
##
## calculating weighted kde
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc233
## Using 336.66, 407.075 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc248
## Using 265.956, 667.962 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc249
## Using 255.227, 346.971 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc240
## Using 487.066, 270.688 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc241
## Using 181.457, 545.999 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc239
## Using 344.668, 483.097 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc256
## Using 477.736, 386.439 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc246
## Using 432.492, 275.209 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc261
## Using 356.125, 346.625 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc250
## Using 463.067, 334.879 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc237
## Using 217.571, 376.223 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc234
## Using 334.794, 495.991 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc247
## Using 393.358, 224.681 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc244
## Using 219.189, 507.376 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc264
## Using 514.565, 431.666 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc253
## Using 379.712, 620.325 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc213
## Using 217.16, 245.65 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc225
## Using 204.448, 341.665 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### HAUCK
## Using 244.177, 243.817 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects
## Not validating Seurat objects

##
##
## ### SSc224
## Using 147.33, 313.771 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects

##
##
## ### SSc214
## Using 166.57, 295.907 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects

##
##
## ### SSc223
## Using 257.219, 291.948 for bandwidth
##
##
## calculating weighted kde
## Warning: Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Not validating Seurat objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Not validating Centroids objects
## Warning: Not validating FOV objects
## Warning: Not validating Centroids objects
## Warning: Not validating FOV objects
## Not validating FOV objects
## Not validating FOV objects
## Warning: Not validating Seurat objects

library(scCustomize)
## Loading required package: Seurat
## scCustomize v3.0.1
## If you find the scCustomize useful please cite.
## See 'samuel-marsh.github.io/scCustomize/articles/FAQ.html' for citation info.
library(cowplot)
##
## Attaching package: 'cowplot'
## The following object is masked from 'package:ggpubr':
##
## get_legend
## The following object is masked from 'package:lubridate':
##
## stamp
color_pal <- colorRampPalette(c("#dedeea", "#bcb9d8","#8488b5","#61678b"))(50)
p <- FeaturePlot_scCustom(
seurat_object = data,
features = "CARTacute",
order = TRUE,
colors_use = color_pal,
alpha_exp = 0.4
#na_cutoff = FALSE
) +
NoAxes() +
theme(legend.position = "bottom", legend.justification = "center")
## Warning: Some of the plotted features are from meta.data slot.
## • Please check that `na_cutoff` param is being set appropriately for those
## features.
##
## NOTE: FeaturePlot_scCustom uses a specified `na_cutoff` when plotting to
## color cells with no expression as background color separate from color scale.
## Please ensure `na_cutoff` value is appropriate for feature being plotted.
## Default setting is appropriate for use when plotting from 'RNA' assay.
## When `na_cutoff` not appropriate (e.g., module scores) set to NULL to
## plot all cells in gradient color palette.
##
## -----This message will be shown once per session.-----
arrow <- arrow(angle = 20, type = "closed", length = unit(0.1, "npc"))
umap_coord <- ggplot(tibble(group = c("UMAP_1", "UMAP_2"),
x = c(0, 0), xend = c(1, 0),
y = c(0, 0), yend = c(0, 1),
lx = c(0.5, -0.15), ly = c(-0.15, 0.5),
angle = c(0, 90))) +
geom_segment(aes(x, y, xend = xend, yend = yend, group = group),
arrow = arrow, size = 1, lineend = "round") +
geom_text(aes(lx, ly, label = group, angle = angle), size = 4) +
theme_void() +
coord_fixed(xlim = c(-0.3, 1), ylim = c(-0.3, 1))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
p_full <- ggdraw() +
draw_plot(p + NoAxes(), scale = 0.9) +
draw_plot(umap_coord, x = 0.05, y = 0.05, width = 0.2, height = 0.2)
p_full

ggsave(p_full,file="acutescore_featureplot.pdf",width=8,height=6)
ggsave(
filename = "acutescore_featureplot.png",
plot = p_full,
width = 8,
height = 6,
dpi = 600
)